MeshFilter 您所在的位置:网站首页 unity的mesh filter MeshFilter

MeshFilter

2024-07-17 11:03| 来源: 网络整理| 查看: 265

MeshFilter.mesh 切换到手册 public Mesh mesh ; 描述

返回指定给网格过滤器的实例化 Mesh。

如果没有为网格过滤器指定网格,则会创建并指定新的网格。如果已为网格过滤器指定了网格,则 mesh 属性的第一个查询会创建一个副本,并将其 返回。mesh 属性的后续查询会返回此复制的网格实例。 查询了 mesh 属性之后,指向原始共享网格的链接会丢失,并且 MeshFilter.sharedMesh 属性会成为 mesh 的别名。 如果要避免此自动网格复制,请改用 MeshFilter.sharedMesh。使用 mesh 属性只能修改单个对象的网格。使用 相同网格的其他对象不会进行修改。由您负责在游戏对象销毁时将自动实例化网格销毁。Resources.UnloadUnusedAssets 也会销毁网格,但是通常仅当加载新关卡时调用。将 mesh 属性视为以下代码的快捷方式:

using UnityEngine; using System.Collections;public class ExampleClass : MonoBehaviour { void Start() { Mesh mesh = GetComponent().sharedMesh; Mesh mesh2 = Instantiate(mesh); GetComponent().sharedMesh = mesh2; } }

在 mesh 属性的第一个查询时调用的内容。注意:\ 如果 MeshFilter 是资源对象的一部分,则不允许查询 mesh 属性,只能指定资源网格。

using UnityEngine; using System.Collections;public class ExampleClass : MonoBehaviour { // Distorts the mesh vertically. void Update() { // Get instantiated mesh Mesh mesh = GetComponent().mesh; // Randomly change vertices Vector3[] vertices = mesh.vertices; int p = 0; while (p < vertices.Length) { vertices[p] += new Vector3(0, Random.Range(-0.3F, 0.3F), 0); p++; } mesh.vertices = vertices; mesh.RecalculateNormals(); } }

另请参阅:Mesh 类。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有